//
//  NSString+Kylin_fileSize.m
//  03-BuDeJie-2 TabBar设置
//
//  Created by Kylin on 16/2/18.
//  Copyright © 2016年 kylin. All rights reserved.
//

#import "NSString+Kylin_fileSize.h"

@implementation NSString (Kylin_fileSize)

- (NSInteger)fileSize{
    
    
    // 文件管理者
    NSFileManager *manager = [NSFileManager defaultManager];
    
    // 判断是否为文件夹
    BOOL isDirctory = NO;
    
    // 判断路径是否存在
    BOOL exists = [manager fileExistsAtPath:self isDirectory:&isDirctory];
    
    if (exists == 0) return 0;
    
    if (isDirctory) { // 如果是文件夹
        NSInteger size = 0;
        
        NSDirectoryEnumerator *enumertor = [manager enumeratorAtPath:self];
        
        for (NSString *subPath in enumertor) {
            // 获取全路径 找到default下面的所有文件夹
            NSString *fullPath = [self stringByAppendingPathComponent:subPath];
            
            // 获得文件所有属性
            NSDictionary *attrs = [manager attributesOfItemAtPath:fullPath error:nil];
            
            size += attrs.fileSize;
        }
        return size;
    }else{
        
        
        /**
         *  如果不是文件夹，那么就是文件，直接调用系方法计算大小
         */
        return [manager attributesOfItemAtPath:self error:nil].fileSize;
    }
   
}
@end
